Consumer electronics of almost any size now include controllers or processors and perform many functions that used to be exclusively within the domain of the desktop computer. One such device, the cellular phone, previously dedicated to transmitting only voice communication, is now being utilized to transmit other data in addition to voice communication. Some cellular phones now allow users to connect to the Internet and browse web sites; other cellular phones now allow users to check and send email. However, power consumption and available memory, place size and resource constraints on mobile devices, such as cellular phones, that do not exist on desktop computers.
The traditional model of building monolithic applications for the desktop world creates difficulties when adapted to mobile computing. Until now, the size and resource constraints of mobile devices have made an acceptable communications mechanism unascertainable to the developers of mobile communications.